package com.spring.beans.factory.support;

import com.spring.BeanDefinition;
import com.spring.beans.BeansException;
import com.spring.beans.factory.config.ConfigurableBeanFactory;
import com.spring.core.convert.ConversionService;
import com.spring.interfaces.BeanPostProcessor;
import com.spring.util.StringValueResolver;

/**
 * @Author: Asuka
 * @Description:
 * @create: 2025-04-14 23:37
 */


public class DefaultListableBeanFactory extends AbstractAutowireCapableBeanFactory
implements ConfigurableBeanFactory,BeanDefinitionRegistry {


    @Override
    public void addBeanPostProcessor(BeanPostProcessor beanPostProcessor) {

    }

    @Override
    public void destroySingletons() {

    }

    @Override
    public void addEmbeddedValueResolver(StringValueResolver valueResolver) {

    }

    @Override
    public String resolveEmbeddedValue(String value) {
        return "";
    }

    @Override
    public void setConversionService(ConversionService conversionService) {

    }

    @Override
    public ConversionService getConversionService() {
        return null;
    }

    @Override
    public Object getBean(String name) throws BeansException {
        return null;
    }

    @Override
    public <T> T getBean(String name, Class<T> requiredType) throws BeansException {
        return null;
    }

    @Override
    public <T> T getBean(Class<T> requiredType) throws BeansException {
        return null;
    }

    @Override
    public boolean containsBean(String name) {
        return false;
    }

    @Override
    public Object getSingleton(String beanName) {
        return null;
    }

    @Override
    public void addSingleton(String beanName, Object singletonObject) {

    }

    @Override
    public void registerBeanDefinition(String beanName, BeanDefinition beanDefinition) {

    }

    @Override
    public BeanDefinition getBeanDefinition(String beanName) throws BeansException {
        return null;
    }

    @Override
    public boolean containsBeanDefinition(String beanName) {
        return false;
    }

    @Override
    public String[] getBeanDefinitionNames() {
        return new String[0];
    }
}
